package com.xxx.dao;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.xxx.common.model.PageInfo;
import com.xxx.common.table.UserBaseInfoEntity;
import com.xxx.model.user.req.ReqUserListVO;
import com.xxx.model.user.res.ResUserListVO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 用户基本信息表
 * 
 * @author Flying
 * @email flying_miku@sina.com
 * @date 2018-08-27 16:45:04
 */
@Repository
public interface UserBaseInfoDao extends BaseMapper<UserBaseInfoEntity> {

    /**
     * description:通过手机号（用户名）获取用户信息
     * @author: Flying
     * @date: 2018-08-29 17:15
     * @param: null
     * @return
     */
    UserBaseInfoEntity selectByUserName(@Param("userName") String userName);


    /**
     * description:通过手机号获取用户信息
     * @author: pzs
     * @date: 2018-08-29 17:15
     * @param: null
     * @return
     */
    UserBaseInfoEntity selectByPhone(@Param("phone") String phone);

    /**
     * @Author Flying
     * @Description  获取用户列表
     * @Date 14:39 2019/4/11
     * @Param [pageInfo, reqUserListVO]
     * @return java.util.List<com.xxx.model.operation.res.ResUserListVO>
     */
    List<ResUserListVO> getUserList(@Param("pageInfo") PageInfo<ResUserListVO> pageInfo, @Param("reqUserListVO") ReqUserListVO reqUserListVO);

    /**
     * @Author Flying
     * @Description 获取用户列表总记录数
     * @Date 14:39 2019/4/11
     * @Param [reqUserListVO]
     * @return java.lang.Integer
     */
    Integer getUserListTotalCount(@Param("reqUserListVO")  ReqUserListVO reqUserListVO);
}
